Busca Adversarial e Jogos


    A busca adversarial ou competitiva serve para jogos onde existem dois agentes para jogá-lo. Então, essa busca somente é possível em ambientes competitivos multiagentes e sempre a solução ótima é uma estratégia. Os jogos são modelados como problemas de busca e usam funções de avaliação heurísticas. Os jogos sempre são problemas difíceis de resolver, pois sempre é necessária alguma decisão mesmo não sendo ótima.


    Os jogos podem ser determinísticos ou de azar e com informação perfeita ou imperfeita. O xadrez é um jogo determinístico com informação perfeita, pois os jogadores podem ver todas as peças, já o poker é um jogo de azar e com informação imperfeita, pois o depende da sorte de receber as cartas certas e os jogadores não podem ver as cartas dos outros.


    Um jogo de soma zero é quando um agente ganha e o outro perde e um deles tenta maximizar seu valor e o outro minimiza. O agente tenta decidir o que fazer e pensa sobre as consequências das ações e imagina as respostas futuras para formular sua estratégia.


Algoritmo MiniMax


    Com a árvore de busca conseguimos identificar qual caminho seguir para ganhar o jogo de uma maneira que o inimigo não consiga interferir. O resultado pode ser -1(perder), 0(empatar) ou +1(ganhar).Basta a inteligência artificial seguir caminhos que o levam para um +1 que terá uma vitória certeira.


    O princípio do Minimax é descer os ‘nós’ da árvore de busca até chegar no término do jogo, identificando se o jogador perdeu, empatou ou ganhou.


    Após isso, o algoritmo sobe um ‘nó’ e identifica de quem é o turno (jogador ou oponente). Caso for o turno do oponente, o algoritmo guarda o menor (Min) resultado de suas respectivas ramificações.


    Caso for o turno do jogador, o algoritmo guarda o maior (Max) resultado de suas respectivas ramificações.


    Este processo se repete até chegar no primeiro ‘nó’ da Árvore.


    Isso significa que, caso a decisão do jogador ganhar ou perder esteja nas mãos do oponente, o Minimax atribui como não sendo seguro entrar por este caminho, indicando somente como ‘1’ os caminhos em que o jogador possa vencer a partida mesmo que o oponente jogue da melhor forma possível.


Agora eu saquei, agora tudo faz sentido! Clique na imagem para ver um jogo de agente simples!